home *** CD-ROM | disk | FTP | other *** search
/ Stone Design / Stone Design.iso / Stone_Friends / Wave / WavesWorld / Examples / constructiveSolidGeometry / SphereMinusPolys.eve < prev    next >
Encoding:
Text File  |  1995-03-22  |  1.1 KB  |  43 lines

  1. proc drawBox {width height depth} {
  2.  
  3.   set nPolys 6
  4.   set nVerts {4 4 4 4 4 4 }
  5.   set verts  {3 2 6 7 \
  6.               2 1 5 6 \
  7.               1 0 4 5 \
  8.               0 3 7 4 \
  9.               7 6 5 4 \
  10.               0 1 2 3}
  11.   set bb(0) [expr {-.5 * $width}] 
  12.   set bb(1) [expr { .5 * $width}] 
  13.   set bb(2) [expr {-.5 * $height}] 
  14.   set bb(3) [expr { .5 * $height}] 
  15.   set bb(4) [expr {-.5 * $depth}] 
  16.   set bb(5) [expr { .5 * $depth}] 
  17.   set thePointsOfACube "$bb(0) $bb(3) $bb(5) \
  18.                         $bb(1) $bb(3) $bb(5) \
  19.                         $bb(1) $bb(3) $bb(4) \
  20.                         $bb(0) $bb(3) $bb(4) \
  21.                         $bb(0) $bb(2) $bb(5) \
  22.                         $bb(1) $bb(2) $bb(5) \
  23.                         $bb(1) $bb(2) $bb(4) \
  24.                         $bb(0) $bb(2) $bb(4)"
  25.  
  26.  
  27.   PointsPolygons $nVerts $verts P $thePointsOfACube
  28. }
  29.  
  30.  
  31. startShape theDifferenceOfTwoSpheres
  32.   SolidBegin difference
  33.     SolidBegin primitive
  34.       drawBox 1 2 2
  35.     SolidEnd
  36.     Translate .5 0 0
  37.     SolidBegin primitive
  38.       Sphere 1 -1 1 360
  39.     SolidEnd
  40.   SolidEnd
  41. AttributeEnd
  42.  
  43.